/*
 * 
 */

package controller;

import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;
import javax.persistence.Query;
import podologia.beansDB.Atencion;

/**
 *
 * @author Administrador
 */
public class GestorAtencion {

    private EntityManager em;
    private EntityTransaction tx;

    /**
     * Borra una atencion dado un id en formato entero y un entitymanager
     * @param idAtencion
     * @param emArg
     * @return
     */
    public int BorrarAtencion(int idAtencion, EntityManager emArg){
        if(idAtencion!=0){
            tx = emArg.getTransaction();
            try{
                tx.begin();
                Query query = emArg.createQuery("DELETE FROM Cardedoxatencion c WHERE c.idAtencion.idAtencion=:idA");
                query.setParameter("idA", idAtencion).executeUpdate();

                query = emArg.createQuery("DELETE FROM Fdigitalxatencion f WHERE f.idAtencion.idAtencion=:idA");
                query.setParameter("idA", idAtencion).executeUpdate();

                query = emArg.createQuery("DELETE FROM Tipopiexatencion t WHERE t.idAtencion.idAtencion=:idA");
                query.setParameter("idA", idAtencion).executeUpdate();

                query = emArg.createQuery("DELETE FROM Tratapatoxatencion t WHERE t.idAtencion.idAtencion=:idA");
                query.setParameter("idA", idAtencion).executeUpdate();

                query = emArg.createQuery("DELETE FROM Atencion a WHERE a.idAtencion=:idA");
                query.setParameter("idA", idAtencion).executeUpdate();             
                
                tx.commit();
                
                return 1;
            }catch(RuntimeException ex){
                try{
                tx.rollback();
                ex.printStackTrace();
                }catch(Exception x){
                    x.printStackTrace();
                }
            }
        }else{
            return -1;
        }
         return 0;
    }
    /**
     * Borra una atencion dado un objeto atencion y un entityManager
     * @param atencion
     * @param emArg
     * @return
     */
    public int BorrarAtencion(Atencion atencion, EntityManager emArg){
        if(atencion!=null){
            if(atencion.getIdAtencion()!=0){
                return BorrarAtencion(atencion.getIdAtencion(), emArg);
            }else{
                return -1;
            }
        }else{
            return -1;
        }
    }

}
